!function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var r=1;r"function"==typeof t,p=t=>g(t)&&-1!==t.toString().indexOf("[native code]"),b=()=>!!r.Zone,y=t=>void 0===t,C=t=>"[object String]"==m.call(t),k=t=>null===t,w=t=>y(t)||k(t),O=t=>"[object Number]"==m.call(t),x=t=>t instanceof FormData,D=t=>{var e={_log:function(e){if(r&&c.POSTHOG_DEBUG&&!y(r.console)&&r.console){for(var n=("__rrweb_original__"in r.console[e]?r.console[e].__rrweb_original__:r.console[e]),i=arguments.length,a=new Array(i>1?i-1:0),o=1;o{e.error("You must initialize PostHog before calling ".concat(t))},createLogger:e=>D("".concat(t," ").concat(e))};return e},M=D("[PostHog.js]"),E={};function N(t,e,n){if(v(t))if(a&&t.forEach===a)t.forEach(e,n);else if("length"in t&&t.length===+t.length)for(var r=0,i=t.length;r1?e-1:0),r=1;rV(t))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))&&void 0!==n?n:"")})),_(e)}var H=["a","button","form","input","select","textarea","label"];function q(t){for(var e=t;e.parentNode&&!T(e,"body");e=e.parentNode){var n=R(e);if(u(n,"ph-sensitive")||u(n,"ph-no-capture"))return!1}if(u(R(t),"ph-include"))return!0;var r=t.type||"";if(C(r))switch(r.toLowerCase()){case"hidden":case"password":return!1}var i=t.name||t.id||"";if(C(i)){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function z(t){return!!(T(t,"input")&&!["button","checkbox","submit","reset"].includes(t.type)||T(t,"select")||T(t,"textarea")||"true"===t.getAttribute("contenteditable"))}var G="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",B=new RegExp("^(?:".concat(G,")$")),W=new RegExp(G),X="\\d{3}-?\\d{2}-?\\d{4}",Z=new RegExp("^(".concat(X,")$")),I=new RegExp("(".concat(X,")"));function V(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(w(t))return!1;if(C(t)){if(t=_(t),(e?B:W).test((t||"").replace(/[- ]/g,"")))return!1;if((e?Z:I).test(t))return!1}return!0}function J(t){var e=F(t);return V(e="".concat(e," ").concat(U(t)).trim())?e:""}function U(t){var e="";return t&&t.childNodes&&t.childNodes.length&&A(t.childNodes,(function(t){var n;if(t&&"span"===(null===(n=t.tagName)||void 0===n?void 0:n.toLowerCase()))try{var r=F(t);e="".concat(e," ").concat(r).trim(),t.childNodes&&t.childNodes.length&&(e="".concat(e," ").concat(U(t)).trim())}catch(t){M.error("[AutoCapture]",t)}})),e}function Y(t){return function(t){var n=t.map((t=>{var n,r,i="";if(t.tag_name&&(i+=t.tag_name),t.attr_class)for(var a of(t.attr_class.sort(),t.attr_class))i+=".".concat(a.replace(/"/g,""));var o=e(e(e(e({},t.text?{text:t.text}:{}),{},{"nth-child":null!==(n=t.nth_child)&&void 0!==n?n:0,"nth-of-type":null!==(r=t.nth_of_type)&&void 0!==r?r:0},t.href?{href:t.href}:{}),t.attr_id?{attr_id:t.attr_id}:{}),t.attributes),l={};return $(o).sort(((t,e)=>{var[n]=t,[r]=e;return n.localeCompare(r)})).forEach((t=>{var[e,n]=t;return l[K(e.toString())]=K(n.toString())})),i+=":",i+=$(o).map((t=>{var[e,n]=t;return"".concat(e,'="').concat(n,'"')})).join("")}));return n.join(";")}(function(t){return t.map((t=>{var e,n,r={text:null===(e=t.$el_text)||void 0===e?void 0:e.slice(0,400),tag_name:t.tag_name,href:null===(n=t.attr__href)||void 0===n?void 0:n.slice(0,2048),attr_class:Q(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return $(t).filter((t=>{var[e]=t;return 0===e.indexOf("attr__")})).forEach((t=>{var[e,n]=t;return r.attributes[e]=n})),r}))}(t))}function K(t){return t.replace(/"|\\"/g,'\\"')}function Q(t){var e=t.attr__class;return e?v(e)?e:P(e):void 0}function tt(t,e){return e.length>t?e.slice(0,t)+"...":e}function et(t){if(t.previousElementSibling)return t.previousElementSibling;var e=t;do{e=e.previousSibling}while(e&&!L(e));return e}function nt(t,e,n,r){var i=t.tagName.toLowerCase(),a={tag_name:i};H.indexOf(i)>-1&&!n&&("a"===i.toLowerCase()||"button"===i.toLowerCase()?a.$el_text=tt(1024,J(t)):a.$el_text=tt(1024,F(t)));var o=R(t);o.length>0&&(a.classes=o.filter((function(t){return""!==t}))),A(t.attributes,(function(n){var i;if((!z(t)||-1!==["name","id","class","aria-label"].indexOf(n.name))&&((null==r||!r.includes(n.name))&&!e&&V(n.value)&&(i=n.name,!C(i)||"_ngcontent"!==i.substring(0,10)&&"_nghost"!==i.substring(0,7)))){var o=n.value;"class"===n.name&&(o=P(o).join(" ")),a["attr__"+n.name]=tt(1024,o)}}));for(var l=1,s=1,c=t;c=et(c);)l++,c.tagName===t.tagName&&s++;return a.nth_child=l,a.nth_of_type=s,a}function rt(t,e){for(var n,i,a,{e:o,maskAllElementAttributes:s,maskAllText:c,elementAttributeIgnoreList:_,elementsChainAsString:h}=e,d=[t],f=t;f.parentNode&&!T(f,"body");)(a=f.parentNode)&&11===a.nodeType?(d.push(f.parentNode.host),f=f.parentNode.host):(d.push(f.parentNode),f=f.parentNode);var m,v,g,p=[],b={},C=!1,k=!1;if(A(d,(t=>{var e=q(t);"a"===t.tagName.toLowerCase()&&(C=t.getAttribute("href"),C=e&&C&&V(C)&&C),u(R(t),"ph-no-capture")&&(k=!0),p.push(nt(t,s,c,_));var n=function(t){if(!q(t))return{};var e={};return A(t.attributes,(function(t){if(t.name&&0===t.name.indexOf("data-ph-capture-attribute")){var n=t.name.replace("data-ph-capture-attribute-",""),r=t.value;n&&r&&V(r)&&(e[n]=r)}})),e}(t);S(b,n)})),k)return{props:{},explicitNoCapture:k};if(c||("a"===t.tagName.toLowerCase()||"button"===t.tagName.toLowerCase()?p[0].$el_text=J(t):p[0].$el_text=F(t)),C){var w,O;p[0].attr__href=C;var x=null===(v=C,g=null==l?void 0:l.createElement("a"),w=y(g)?null:(g.href=v,g))||void 0===w?void 0:w.host,D=null==r||null===(O=r.location)||void 0===O?void 0:O.host;x&&D&&x!==D&&(m=C)}return{props:S({$event_type:o.type,$ce_version:1},h?{}:{$elements:p},{$elements_chain:Y(p)},null!==(n=p[0])&&void 0!==n&&n.$el_text?{$el_text:null===(i=p[0])||void 0===i?void 0:i.$el_text}:{},m&&"click"===o.type?{$external_click_url:m}:{},b)}}var it={};function at(t){return function(t,e){var n=it[t];if(n)return n;var r=e[t];if(p(r)&&!b())return it[t]=r.bind(e);var i=e.document;if(i&&g(i.createElement))try{var a=i.createElement("iframe");a.hidden=!0,i.head.appendChild(a);var o=a.contentWindow;o&&o[t]&&(r=o[t]),i.head.removeChild(a)}catch(e){M.warn("Could not create sandbox iframe for ".concat(t," check, bailing to assignableWindow.").concat(t,": "),e)}return r&&g(r)?it[t]=r.bind(e):r}("MutationObserver",t)}function ot(t){var e,n,r=y((e=t).target)?e.srcElement||null:null!==(n=e.target)&&void 0!==n&&n.shadowRoot?e.composedPath()[0]||null:e.target||null;return r?{node:r,originalEvent:t,timestamp:Date.now()}:null}function lt(t,e){return O(t)&&t>=e}class st{asRequiredConfig(t){var e,n,r,i,a=this._defaultConfig((null==t?void 0:t.__onCapture)||this._captureDeadClick.bind(this));return{element_attribute_ignorelist:null!==(e=null==t?void 0:t.element_attribute_ignorelist)&&void 0!==e?e:a.element_attribute_ignorelist,scroll_threshold_ms:null!==(n=null==t?void 0:t.scroll_threshold_ms)&&void 0!==n?n:a.scroll_threshold_ms,selection_change_threshold_ms:null!==(r=null==t?void 0:t.selection_change_threshold_ms)&&void 0!==r?r:a.selection_change_threshold_ms,mutation_threshold_ms:null!==(i=null==t?void 0:t.mutation_threshold_ms)&&void 0!==i?i:a.mutation_threshold_ms,__onCapture:a.__onCapture}}constructor(t,e){n(this,"_clicks",[]),n(this,"_defaultConfig",(t=>({element_attribute_ignorelist:[],scroll_threshold_ms:100,selection_change_threshold_ms:100,mutation_threshold_ms:2500,__onCapture:t}))),n(this,"_onClick",(t=>{var e=ot(t);k(e)||this._ignoreClick(e)||this._clicks.push(e),this._clicks.length&&y(this._checkClickTimer)&&(this._checkClickTimer=c.setTimeout((()=>{this._checkClicks()}),1e3))})),n(this,"_onScroll",(()=>{var t=Date.now();t%50==0&&this._clicks.forEach((e=>{y(e.scrollDelayMs)&&(e.scrollDelayMs=t-e.timestamp)}))})),n(this,"_onSelectionChange",(()=>{this._lastSelectionChanged=Date.now()})),this.instance=t,this._config=this.asRequiredConfig(e),this._onCapture=this._config.__onCapture}start(t){this._startClickObserver(),this._startScrollObserver(),this._startSelectionChangedObserver(),this._startMutationObserver(t)}_startMutationObserver(t){if(!this._mutationObserver){var e=at(c);this._mutationObserver=new e((t=>{this.onMutation(t)})),this._mutationObserver.observe(t,{attributes:!0,characterData:!0,childList:!0,subtree:!0})}}stop(){var t;null===(t=this._mutationObserver)||void 0===t||t.disconnect(),this._mutationObserver=void 0,c.removeEventListener("click",this._onClick),c.removeEventListener("scroll",this._onScroll,{capture:!0}),c.removeEventListener("selectionchange",this._onSelectionChange)}onMutation(t){this._lastMutation=Date.now()}_startClickObserver(){j(c,"click",this._onClick)}_startScrollObserver(){j(c,"scroll",this._onScroll,{capture:!0})}_startSelectionChangedObserver(){j(c,"selectionchange",this._onSelectionChange)}_ignoreClick(t){return!t||(!!((e=t.node)instanceof Element&&("__POSTHOG_TOOLBAR__"===e.id||null!==(n=e.closest)&&void 0!==n&&n.call(e,".toolbar-global-fade-container")))||(!!this._clicks.some((e=>e.node===t.node&&Math.abs(e.timestamp-t.timestamp)<1e3))||!(!T(t.node,"html")&&L(t.node)&&!H.includes(t.node.tagName.toLowerCase()))));var e,n}_checkClicks(){if(this._clicks.length){clearTimeout(this._checkClickTimer),this._checkClickTimer=void 0;var t=this._clicks;for(var e of(this._clicks=[],t)){var n;e.mutationDelayMs=null!==(n=e.mutationDelayMs)&&void 0!==n?n:this._lastMutation&&e.timestamp<=this._lastMutation?this._lastMutation-e.timestamp:void 0,e.absoluteDelayMs=Date.now()-e.timestamp,e.selectionChangedDelayMs=this._lastSelectionChanged&&e.timestamp<=this._lastSelectionChanged?this._lastSelectionChanged-e.timestamp:void 0;var r=lt(e.scrollDelayMs,this._config.scroll_threshold_ms),i=lt(e.selectionChangedDelayMs,this._config.selection_change_threshold_ms),a=lt(e.mutationDelayMs,this._config.mutation_threshold_ms),o=lt(e.absoluteDelayMs,1.1*this._config.mutation_threshold_ms),l=O(e.scrollDelayMs)&&e.scrollDelayMs{this._checkClicks()}),1e3))}}_captureDeadClick(t,n){this.instance.capture("$dead_click",e(e(e({},n),rt(t.node,{e:t.originalEvent,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this._config.element_attribute_ignorelist,elementsChainAsString:!1}).props),{},{$dead_click_scroll_delay_ms:t.scrollDelayMs,$dead_click_mutation_delay_ms:t.mutationDelayMs,$dead_click_absolute_delay_ms:t.absoluteDelayMs,$dead_click_selection_changed_delay_ms:t.selectionChangedDelayMs}),{timestamp:new Date(t.timestamp)})}}c.__PosthogExtensions__=c.__PosthogExtensions__||{},c.__PosthogExtensions__.initDeadClicksAutocapture=(t,e)=>new st(t,e)}(); //# sourceMappingURL=dead-clicks-autocapture.js.map